package com.admin.business.venusSysRole;

import com.tiangong.framework.bo.CDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description: 角色信息表
 * @create: 2022-03-22 18:46:06
 **/
@Mapper
public interface VenusSysRoleDao{
    /**
     * 添加角色信息表数据
     */
    void addVenusSysRole(CDO cdo);

    /**
     * 添加角色信息表数据
     */
    void addOrUpdateVenusSysRole(CDO cdo);

    /**
     * 根据Id更新角色信息表数据
     */
    int updateVenusSysRoleById(CDO cdo);

    /**
     * 根据Id删除角色信息表数据
     */
    int deleteVenusSysRoleById(Integer role_id);

    /**
     * 根据条件删除角色信息表数据
     */
    int deleteVenusSysRole(CDO cdo);

    /**
     * 根据id获取角色信息表数据
     */
    CDO getVenusSysRoleById(Integer role_id);

    /**
     * 根据条件获取角色信息表数据
     */
    CDO getVenusSysRole(CDO cdo);

    /**
     * 根据非空条件获取角色信息表数据列表
     */
    List<CDO> getVenusSysRoleList(CDO cdo);

    /**
     * 根据非空条件获取角色信息表数据列表条数
     */
    int getVenusSysRoleListCount(CDO cdo);

    /**
     * 根据混合条件获取角色信息表数据列表
     */
    List<CDO> getVenusSysRoleListByCondition(CDO cdo);

    /**
     * 根据混合条件获取角色信息表数据列表条数
     */
    int getVenusSysRoleListByConditionCount(CDO cdo);

    /**
     * 获取角色信息表数据条数
     */
    int getVenusSysRoleCount(CDO cdo);


    // 找到角色菜单关联 通过用户id
    List<String> get_role_menu_by_user_id(@Param("user_id")String user_id, @Param("menu_type")Integer type,
                                          @Param("org_id")String org_id,
                                          @Param("level")Integer level);




}
